<?

/**
* hace upload de archivos, y cambia los permisos para que el archivos se pueda leer, esta version esta altamente mejorada
*/
function upload($nombre_frm,$ruta,$prefijo,$id,$extensiones){
	$storeName = $prefijo;
	$allowedExt = $extensiones;
	ini_set('upload_max_filesize','15M');
	

	if( $_FILES[$nombre_frm]["size"]>0 and in_array( strtolower(substr($_FILES[$nombre_frm]['name'],-4)), $extensiones) )	{
		$extension = strtolower( substr($_FILES[$nombre_frm]['name'],-4) );
		$tempfile = $_FILES[$nombre_frm]['tmp_name'];
		$mimetype=$_FILES[$nombre_frm]['type'];
		if(is_uploaded_file($tempfile)){
			move_uploaded_file($tempfile,$ruta.$storeName.$extension);
			$size = getimagesize($ruta.$storeName.$extension);
			chmod($ruta.$storeName.$extension, 0666);
 			return "La $nombre_frm ha sido subida correctamente!<br>"; 	
		}else{
			return 0;
		}
	}

	return 1;
	
}





function envio_mail($from_name, $from_email, $to_name, $to_email, $subject, $mensaje)
{
$headers = "MIME-Version: 1.0
";
$headers .= "Content-type: text/html; charset=iso-8859-1
";
$headers .= "From: ".$from_name." <".$from_email.">
";
$headers .= "To: $to_name <".$to_email.">
";
$headers .= "Reply-To: ".$from_name." <$from_email>
";
$headers .= "X-Priority: 1
";
$headers .= "X-MSMail-Priority: High
";
$headers .= "X-Mailer: Just My Server";

@ini_set("sendmail_from",$from_email);
return mail($to_email,$subject,$mensaje,$headers);
	 
}

function crearCombo($nombreSelect,$tabla,$campo_codigo,$campo_info,$codigo_seleccionado,$conexion,$where_clause='',$order=''){
	echo "<select name=\"$nombreSelect\">";
		echo "<option value=\"\">Seleccione..</option>";
		
		//SELECCION DE DATOS
		if($order!=''){
			$order_by = " order by $order";
		}else{
			$order_by = " order by $campo_info asc";
		}
		$sql = "select $campo_codigo, $campo_info FROM $tabla $where_clause $order_by";

		$s=mysql_query($sql,$conexion) or die(mysql_error($conexion));
		while($lista=mysql_fetch_row($s)){
			echo "<option value=\"".$lista[0]."\" ".($lista[0]==$codigo_seleccionado ? "selected" : "").">".$lista[1]."</option>";
		}
		mysql_free_result($s);
	echo "</select>";
	
}

function getNombreArchivo($codigo,$cliente,$material,$ancho,$alto,$conn){
	/* BUSCAR RAZON SOCIAL*/
	$sql = "select razonsocial from clientes where codigo=$cliente";
	$m=mysql_query($sql,$conn) or die(mysql_error($conn));
	if($rm=mysql_fetch_row($m)){
		$razon_social = $rm[0];
	}
	mysql_free_result($m);

	/*preparar razon social para nombre de archivo*/
	$arrBuscaAcento = array("�","�","�","�","�","�","�","�","�","�");
	$arrReemplazaAcento = array("�","�","�","�","�","�","�","�","�","�");
	$razon_social = str_replace($arrBuscaAcento,$arrReemplazaAcento,$razon_social);
	
	$arrBuscaEspecial = array(" ");
	$arrReemplazaEspecial = array("");
	$razon_social = str_replace($arrBuscaEspecial,$arrReemplazaEspecial,$razon_social);
	
	
	/* BUSCAR NOMBRE DEL MATERIAL*/
	$sql = "select nombre from materiales where codigo=$material";
	$m=mysql_query($sql,$conn) or die(mysql_error($conn));
	if($rm=mysql_fetch_row($m)){
		$nombre_material = $rm[0];
	}
	mysql_free_result($m);
	
	
	
	/* archivo a descargar */
	$nombre_archivo = $codigo."_".$razon_social."_".$nombre_material."_".$ancho."x".$alto;
	return strtolower($nombre_archivo);

}

function existe_imagen($id_registro, $nro,  $prefijo=""){

	#gif
	if(file_exists($prefijo . "uploads/". $id_registro . "_imagen_" . $nro . ".gif" ))
		return ($id_registro . "_imagen_" . $nro . ".gif"); 
	#jpg
	if(file_exists($prefijo . "uploads/". $id_registro . "_imagen_" . $nro . ".jpg" ))
		return ($id_registro . "_imagen_" . $nro . ".jpg");
	#png
	if(file_exists($prefijo . "uploads/". $id_registro . "_imagen_" . $nro . ".png" ))
		return ($id_registro . "_imagen_" . $nro . ".png");
	#jpeg
	if(file_exists($prefijo . "uploads/". $id_registro . "_imagen_" . $nro . ".jpeg" ))
		return ($id_registro . "_imagen_" . $nro . ".jpeg");

	return false;

}

function swap_imagenes($origen, $destino){
	$tmp_name = "tmp_" . $destino; 
	rename($origen, $destino);
}

/**
  * Obtener el listado de imagenes de un registro 
  * con su correspondiente extension y path relativo
  * @param $id_registro 
  * @return array el array de las imagenes
  */
function getImagenes($id_registro, $prefijo=""){
	$ext = array(
				'.gif',
				'.jpg',
				'.png',
				'.jpeg'
		   );

	$imagenes = array();
	$nroimg=0;
	for($nro=1; $nro<6; $nro++){
		foreach($ext as $e){
			if(file_exists( $prefijo . "uploads/". $id_registro . "_imagen_" . $nro . $e )){
				$imagenes[$nroimg] =  $id_registro . "_imagen_" . $nro . $e;
				$nroimg++;
				break;	
			}
		}
	}

	return $imagenes;
}

/**
  * Borrar todas las imagenes de un registro
  */ 
function borrar_imagenes( $id_registro ){
	for($nro=1; $nro<6; $nro++){
		#gif
		if(file_exists("uploads/". $id_registro . "_imagen_" . $nro . ".gif" ))
			unlink("uplodas/" . $id_registro . "_imagen_" . $nro . ".gif"); 
		#jpg
		if(file_exists("uploads/". $id_registro . "_imagen_" . $nro . ".jpg" ))
			unlink("uploads/" . $id_registro . "_imagen_" . $nro . ".jpg");
		#png
		if(file_exists("uploads/". $id_registro . "_imagen_" . $nro . ".png" ))
			unlink("uploads/" . $id_registro . "_imagen_" . $nro . ".png");
		#jpeg
		if(file_exists("uploads/". $id_registro . "_imagen_" . $nro . ".jpeg" ))
			unlink("uploads/" . $id_registro . "_imagen_" . $nro . ".jpeg");
	}
}

/**
* Borrar un imagen en particular
*/
function borrar_imagen($imagen, $prefijo = ""){
	if(file_exists( $prefijo .  "uploads/" . $imagen))
		unlink( $prefijo .  "uploads/" . $imagen );
}

/**
* Intercambia imagenes orden ascendente
*/
function imagen_orden_up($nro, $id_registro, $sufijo=""){
	$origen = existe_imagen($id_registro, $nro, $sufijo);
	
	$ext_origen = strtolower( substr($origen,-4) );

	for($x=($nro-1); $x>0;$x--){
		if( $destino = existe_imagen($id_registro, $x, $sufijo ) ){
			$ext_destino = strtolower( substr($destino,-4) );
			$tmp_destino = $destino; 

			rename( $sufijo .  "uploads/" . $destino, $sufijo . "uploads/tmp_" . $destino );

			rename( $sufijo . "uploads/" . $origen, 
			$sufijo . "uploads/" . $id_registro . "_imagen_" . $x . $ext_origen);

			
			rename( $sufijo .  "uploads/tmp_" . $destino, $sufijo .  "uploads/" . $id_registro . "_imagen_" . $nro . $ext_destino );
			break;
		}
	}
}

/**
* Intercambia imagenes orden ascendente
*/
function imagen_orden_dw($nro, $id_registro, $sufijo){
	$origen = existe_imagen($id_registro, $nro, $sufijo);
	
	$ext_origen = strtolower( substr($origen,-4) );

	for($x=($nro+1); $x<6;$x++){
		if( $destino = existe_imagen($id_registro, $x , $sufijo ) ){
			$ext_destino = strtolower( substr($destino,-4) );
			$tmp_destino = $destino; 

			rename( $sufijo .  "uploads/" . $destino, $sufijo . "uploads/tmp_" . $destino );

			rename( $sufijo . "uploads/" . $origen, 
			$sufijo . "uploads/" . $id_registro . "_imagen_" . $x . $ext_origen);

			
			rename( $sufijo . "uploads/tmp_" . $destino, $sufijo . "uploads/" . $id_registro . "_imagen_" . $nro . $ext_destino );
			break;
		}
	}
}


/**
* Crea un objeto smarty inicializado
* @return un objeto smarty inicializado
*/
function createObjSmarty(){
	$o = new Smarty();
	$o->template_dir = './';
	$o->compile_dir = 'smarty/templates_c';
	$o->config_dir = 'smarty/configs';
	$o->cache_dir = 'smarty/cache';
	$o->left_delimiter = '<!--{';
	$o->right_delimiter = '}-->';

	return $o;
}



?>
